The present invention relates generally to control systems and, more particularly, to integrated optimization and control for production plants using sequential function charts.
Integrated optimization and control of process plants has long been of interest due to the potential economic benefits that such an approach could offer. A number of solutions have been proposed in the past and some commercially available software offerings have attempted to meet the enormous demand for such solutions. In particular, control embodiments capable of controlling sequential processes have been developed. For example, the International Electrotechnical Commission standard IEC-61131 Part 3 includes a graphical language referred to as sequential function chart (SFC) that allows for a method of programming a sequential process, such as a batch process, among others. The SFC standard includes three main components; steps, actions, and transitions. Steps may be considered as logic containers, i.e., a unit of programming logic suitable for accomplishing a particular control task. Actions may be considered as the individual aspects of the particular control task. Transitions allow for logic capable of transferring control from the active step to a next step in the process.
The SFC program is similar to a flowchart in that it allows for a visual representation of the process. Further, the processor executing the SFC program is capable of navigating through the steps and transitions of the program to perform specific operations defined by the actions, iterate through any repetitive sequences of operations, and so forth, so as to perform the various steps in the flowchart. Additionally, while sequential or batch processes are a good fit to the SFC paradigm, other processes using high-level management of multiple operations, state machine operations, and so forth, may suitably use SFC. However, some key technological challenges to the implementation of such SFC solutions have persisted, including, for example, the ability to coordinate among steps, such as when executing steps in a system capable of parallel execution.